<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
 <script>
     //这种就是相当于开辟了多个空间，每次执行都是独立的
    //    function func(){
    //        let n=1;
    //        function sum(){
    //            console.log(++n);
    //        }
    //        sum();
    //    }
    //    func(); 2
    //    func();  2
 
//将函数的返回给外部，函数的地址就会一直有 ，比如 a就为函数返回的
//地址，可以对上一次函数返回的地址继续操作(意思就是在a上继续操作了),以及是被外部使用了
    //      function func(){
    //        let n=1;
    //        return function sum(){
    //            console.log(++n);
    //        };
         
    //    }

       let a=func();
       console.log(a);//f sum(){console.log(++n)}
       a();//2
       a();//3   a相当于一个引用类型


       //重写一个b
       let b=func();
       b();//2
       b();//3
    console.log("_____________________________");
 //嵌套类的
    function func1(){
        return function sum(){
            let n=1;
            return function(){
                console.log(++n);
            };
        };
    }

    let x=func();
 x();//2
 x();//3
 </script>

</body>
</html>